The present invention relates to generally computer systems, and particularly to computer database management systems.
For years, databases have provided an efficient way to store and/or organize massive amounts of information, allowing searching, processing, etc. of that information in a relatively expeditious manner. In order to perform optimally, however, databases generally need to be maintained at regular intervals. Merely by way of example, those skilled in the art will appreciate that a database may need to be “purged” at regular intervals in order to excise old and/or unused information from the database, lest the database become unnecessarily unwieldy from the inclusion of such information.
In addition, as databases and/or database management systems (sometimes referred to as “relational database management systems” or by the abbreviation “RDBMS”) have grown more sophisticated in recent years. Merely by way of example, modern database systems, such as the Oracle 10g™ RDBMS available from Oracle Corp., provide tools that allow an administrator to analyze the database, components thereof and/or data contained within the database, e.g., to allow the database to be tuned for better performance under certain circumstances. Moreover, due to the mission-critical nature of many database systems, best practices often mandate the periodic backup of the database (and/or its data), the replication of multiple instances of databases, etc.
In the past, most (if not all) of these maintenance, tuning and analysis tasks have been manually by an administrator, or at best, on a semi-automated basis (for instance, by an administrator scheduling a maintenance job, etc.). In order to compete in the marketplace, however, database vendors are under increasing pressure to automate as many such tasks as possible, creating a need for solutions to facilitate such automation.